page.form = {};
page.form.init = function(callback,layero,index){
	var _this = this;
	$("#supplierSelectBtn").bind("click",function(){
		page.form.event.selectSupplier();
	});
	//保存
	$("#editBtn").bind("click",function(){
		page.form.event.edit(layero,callback,index);
	});
	
	GirdCtr.gridInit();
	GirdCtr.buttonBind();
	ChildGirdCtr.gridInit();
	ChildGirdCtr.buttonBind();
}

page.form.event = {
	edit : function(dialog, callback,index) {
		// 校验
		$('#mainForm').validate();
		var validate = $('#mainForm').valid();
		if (validate) {
			//设置物料信息
			$("#inOuts").val(JSON.stringify(GirdCtr.getData()));
			//设置资产信息
			$("#inOutSerializes").val(JSON.stringify(ChildGirdCtr.getData()));
			var data = $('#mainForm').serialize() // 要提交的表单,必须使用name属性
			$.dataPost(contextPath + "/depot/in/edit.htm", data,function(result) {
				if (result.success) {
					if (callback)callback();
					dialog.close(index);
				} else {
					parent.layer.msg(result.msg);
				}
			});
		}
	},
	selectSupplier :function(){
		openIframeWindow("选择供应商",contextPath+"/depot/supplier/selectView.htm",{},function(node){
			 $("#sourceName").val(node.supplierName);
			 $("#sourceId").val(node.supplierId);
		  });
	}
}


//grid控制器
var GirdCtr =  $.extend({},defaultGridConFig,{
   gridInit: function(){
	 var _this = this;
	 //左键保存编辑
	 GirdCtr.leftClickSaveRow("#mainGrid");
	 var inOutNo = $("#inOutNo").val();
	//创建jqGrid组件
	_this.grid = $("#mainGrid").jqGrid({
		 			datatype: "json",
		 			postData:{inOutNo:inOutNo},
		 			url : contextPath+'/depot/in/materialQuery.htm',//组件创建完成之后请求数据的url
					datatype : "json",//请求数据返回的类型。可选json,xml,txt
					colModel : [ //jqGrid每一列的配置信息。包括名字，索引，宽度,对齐方式.....
					             {label:"物料编号", name : "propertyId",sortable:false,width : 140,align : "center",key:true,hidden:true},
					             {label:"属性", name : "materialId",sortable:false,hidden:true},
					             {label:"物料编号", name : 'materialNo',sortable:false,width : 140,align : "center"}, 
					             {label:"物料名称", name : 'materialName',sortable:false,width : 200,align : "center"}, 
					             {label:"物料品牌", name : 'materialBrand',sortable:false,width : 140,align : "center"}, 
					             {label:"物料类型", name : 'materialType',sortable:false,width : 80,align : "center",edittype:"select",formatter:'select', editoptions:{value:systemDict.toString(_materialType)}}, 
					             {label:"单位", name : 'materialUnit',sortable:false,width : 80,align : "center",edittype:"select",formatter:'select', editoptions:{value:systemDict.toString(_materialUnit)}}, 
					             {label:"助记码", name : 'mnemonicCode',sortable:false,width : 140,align : "center"}, 
					             {label:"规格", name : 'spec',sortable:false,width : 220,align : "center"},
					             {label:"生产日期", name : 'productTime',sortable:false,width : 120,align : "center", formatter:NoTimeFormatter,editable:true, edittype:"text", editrules:{required: true},editoptions:{dataInit:function(e){
					            	                     $(e).datepicker({
					            		                         language:"zh-CN",//语言
					            		                         autoclose: true,//自动关闭
					            		                         todayBtn: "linked",//
					            		                         format: "yyyy-mm-dd"//时间显示格式
					            		                     });
					            		                     $(this).click(function(e){//选中时间后隐藏
					            		                         $(e).parent().datepicker('hide');
					            		                     });
					            		                 }}},
					             {label:"数量", name : 'quantity',sortable:false,width : 80,align : "center", editable:true, edittype:"text", editrules:{required: true, number: true}}
					             ],
		            shrinkToFit:false,   
		            autoScroll: true, 
		            editurl:"clientArray",//只本地保存
					rowNum : 10,//一页显示多少条
					rowList : [ 10, 20, 30 ],//可供用户选择一页显示多少条
					rownumWidth: 20, //设置显示序号的宽度，默认为25  
					pager : '#mainGridPager',//表格页脚的占位符(一般是div)的id
					sortname : 'io.create_Time',//初始化的时候排序的字段
					sortorder : "asc",//排序方式,可选desc,asc
					mtype : "post",//向后台请求数据的ajax的类型。可选post,get
					width:page.window.grid.width-250,
					height:300,
					ondblClickRow:function(){
						GirdCtr.editRow();
					}
				});
		/*创建jqGrid的操作按钮容器*/
		/*可以控制界面上增删改查的按钮是否显示*/
		$("#mainGrid").jqGrid('navGrid', '#mainGridPager', {edit:false,add:false,del:false,search:false,view:false,refresh:false});
	},
	buttonBind:function(){//控制按钮初始化
	  var _this = this;
	  $("#addMaterialBtn").bind("click",function(){_this.event.doAdd(_this,this)});
	  $("#deleteMaterialBtn").bind("click",function(){_this.event.doDelete(_this,this)});
	}, 
	event:{//事件
	  doAdd:function(_this,btn){
		  openIframeWindow("选择物料",contextPath+"/depot/property/selectView.htm",{},function(node){
			  if(GirdCtr.existDataId(node.propertyId)){
				  layer.msg("物料已选择.");
			  }else{
				  node.materialId = node.propertyId;//使用属性ID作为物料ID
				  GirdCtr.addRowData(node.propertyId,node); 
			  }
			  
		  });
	  },
	 
	  doDelete:function(_this,btn){//删除
		  var id = _this.grid.jqGrid('getGridParam','selrow');
		  if(id){
			 var laIndex = layer.confirm('确定要删除该数据吗？', {
				  btn: ['确定','取消'] //按钮
				}, function(){
					GirdCtr.deleteRow(id);
					layer.close(laIndex);
				});
		  }else{
			  layer.msg("请选择删除的数据.");
		  }
	  }
	}
});

/******************************/
//grid控制器
var ChildGirdCtr =  $.extend({},defaultGridConFig,{
   gridInit: function(){
	 var _this = this;
	 //左键保存编辑
	 ChildGirdCtr.leftClickSaveRow("#childGrid");
	 var inOutNo = $("#inOutNo").val();
	//创建jqGrid组件
	_this.grid = $("#childGrid").jqGrid({
		 			datatype: "json",
		 			postData:{inOutNo:inOutNo},
		 			url : contextPath+'/depot/in/serializaQuery.htm',//组件创建完成之后请求数据的url
					datatype : "json",//请求数据返回的类型。可选json,xml,txt
					colModel : [ //jqGrid每一列的配置信息。包括名字，索引，宽度,对齐方式.....
					             {label:"物料编号", name : "id",sortable:false,width : 140,align : "center",key:true,hidden:true},
					             {label:"属性", name : "propertyId",sortable:false,hidden:true},
					             {label:"属性", name : "materialId",sortable:false,hidden:true},
					             {label:"物料编号", name : 'materialNo',sortable:false,width : 140,align : "center"}, 
					             {label:"物料名称", name : 'materialName',sortable:false,width : 200,align : "center"}, 
					             {label:"物料品牌", name : 'materialBrand',sortable:false,width : 140,align : "center"}, 
					             {label:"物料类型", name : 'materialType',sortable:false,width : 80,align : "center",edittype:"select",formatter:'select', editoptions:{value:systemDict.toString(_materialType)}}, 
					             {label:"单位", name : 'materialUnit',sortable:false,width : 80,align : "center",edittype:"select",formatter:'select', editoptions:{value:systemDict.toString(_materialUnit)}}, 
					             {label:"助记码", name : 'mnemonicCode',sortable:false,width : 140,align : "center"}, 
					             {label:"规格", name : 'spec',sortable:false,width : 220,align : "center"},
					             {label:"序列号(资产号)", name : 'serializaNo',sortable:false,width : 220,align : "center", editable:true, edittype:"text", editrules:{required: true}},
					             {label:"生产日期", name : 'productTime',sortable:false,width : 120,align : "center",formatter:NoTimeFormatter, editable:true, edittype:"text", editrules:{required: true},editoptions:{dataInit:function(e){
					            	                     $(e).datepicker({
					            		                         language:"zh-CN",//语言
					            		                         autoclose: true,//自动关闭
					            		                         todayBtn: "linked",//
					            		                         format: "yyyy-mm-dd"//时间显示格式
					            		                     });
					            		                     $(this).click(function(e){//选中时间后隐藏
					            		                         $(e).parent().datepicker('hide');
					            		                     });
					            		                 }}},
					             {label:"数量", name : 'quantity',sortable:false,width : 80,align : "center"}
					             ],
		            shrinkToFit:false,   
		            autoScroll: true, 
		            editurl:"clientArray",//只本地保存
					rowNum : 10,//一页显示多少条
					rowList : [ 10, 20, 30 ],//可供用户选择一页显示多少条
					rownumWidth: 20, //设置显示序号的宽度，默认为25  
					pager : '#childGridPager',//表格页脚的占位符(一般是div)的id
					sortname : 'io.create_Time',//初始化的时候排序的字段
					sortorder : "asc",//排序方式,可选desc,asc
					mtype : "post",//向后台请求数据的ajax的类型。可选post,get
					width:page.window.grid.width-250,
					height:300,
					ondblClickRow:function(){
						ChildGirdCtr.editRow();
					}
				});
		/*创建jqGrid的操作按钮容器*/
		/*可以控制界面上增删改查的按钮是否显示*/
		$("#childGrid").jqGrid('navGrid', '#childGridPager', {edit:false,add:false,del:false,search:false,view:false,refresh:false});
	},
	buttonBind:function(){//控制按钮初始化
	  var _this = this;
	  $("#addKeyBtn").bind("click",function(){_this.event.doAdd(_this,this)});
	  $("#deleteKeyBtn").bind("click",function(){_this.event.doDelete(_this,this)});
	}, 
	event:{//事件
	  doAdd:function(_this,btn){
		  openIframeWindow("选择物料",contextPath+"/depot/property/selectView.htm?isSerialize=1",{},function(node){
			  //资产默认数量1
			  node.quantity =1;
			  node.materialId = node.propertyId;//使用属性ID作为物料ID
			  ChildGirdCtr.addRowData(node.propertyId+(new Date()).getTime(),node); 
			  
		  });
	  },
	 
	  doDelete:function(_this,btn){//删除
		  var id = _this.grid.jqGrid('getGridParam','selrow');
		  if(id){
			 var laIndex = layer.confirm('确定要删除该数据吗？', {
				  btn: ['确定','取消'] //按钮
				}, function(){
					ChildGirdCtr.deleteRow(id);
					layer.close(laIndex);
				});
		  }else{
			  layer.msg("请选择删除的数据.");
		  }
	  }
	}
});
